<template>
  <Button
      :plain="plain"
      :round="round"
      :circle="circle"
      :type="type"
      :size="size"
      :loading="loading"
      :disabled="disabled"
      v-show="handleFilterPermission"
      class="btn-box"
      :icon="icon">{{text}}</Button>
</template>

<script>
import util from "@/libs/util";

export default {
  name: 'rp-button',
  props: {
    // 按钮显示Icon
    icon: {
      type: String,
      default: null
    },
    // 按钮文字
    text: {
      default: null
    },
    // 是否禁止使用
    disabled: {
      default: false
    },
    // 是否加载
    loading: {
      default: false
    },
    // 类型
    type: {
      default: 'primary'
    },
    // 是否朴素按钮
    plain: {
      default: false
    },
    // 是否圆角按钮
    round: {
      default: false
    },
    // 是否圆型按钮
    circle: {
      default: false
    },
    // 尺寸
    size: {
      default: 'small'
    },
    // 权限名称
    code: {
      default: null
    },
  },
  methods: {
    /**
     * 验证查询
     * @returns {boolean}
     */
    handleFilterPermission() {
      return util.filterPermission(this.code);
    }
  },
}
</script>

<style scoped lang="less">
.btn-box {
  margin: 2px;
}
</style>
